#pragma once

#include <string>
#include "public_define.h"
#include "desensitize_sdk.h"
namespace car_scheduler  {
extern std::shared_ptr<tencent::IDesensitizeSdk> globalSdk;
class Desensitize {
public:
  Desensitize() = default;

  ~Desensitize();
static Desensitize& getInstance();
void Init(const std::string& vin_code, const std::string& cache_path);

int DesensitizeString(const std::string& data, std::string& data_new);

int DesensitizeFile(const std::string& file_path, const std::string& file_path_new);

int ReadDesensitizeFile(const std::string& file_path, std::string& data);

int WriteDesensitizeFile(const std::string& file_path, std::string& data);

bool getHasInitSdk();

private:
  bool hasInitSdk=false;
};

}
